package com.zhong.gang.applib.ui.view;

import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Typeface;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.TypedValue;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.Space;
import android.widget.TextView;

import com.zhong.gang.applib.utils.DensityUtil;
import com.zhong.gang.applib.R;

public class TextViewApp extends LinearLayout {
    private int textSize =15;
    private int textColor = 0XFF333333;
    private int typeface = 0;
    public TextViewApp(Context context) {
        super(context);
    }

    public TextViewApp(Context context, AttributeSet attrs) {
        super(context, attrs);
        init(attrs);
    }

    public TextViewApp(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init(attrs);
    }

    private void init(AttributeSet attrs){
        TypedArray array = getContext().obtainStyledAttributes(attrs, R.styleable.TextViewApp);
        String centerText = array.getString(R.styleable.TextViewApp_mtext);
        textSize = array.getDimensionPixelOffset(R.styleable.TextViewApp_mtextSize,15);
        textColor = array.getColor(R.styleable.TextViewApp_mtextColor,0XFF333333);
        typeface = array.getInt(R.styleable.TextViewApp_mtextStyle,0);
        if (TextUtils.isEmpty(centerText))
            return;
        for (int n = 0; n < centerText.length();n++){
            addView(centerText.substring(n, n+1),n != centerText.length() -1);
        }
    }

    public void setText(String str){
        this.removeAllViews();
        for (int n = 0; n < str.length();n++){
            addView(str.substring(n, n+1),n != str.length() -1);
        }
    }

    private void addView(String str,boolean addView){
        TextView textView = new TextView(getContext());
        textView.setTextColor(getContext().getResources().getColor(R.color.gray3));
        textView.setText(str);
        textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, DensityUtil.dip2px(getContext(),textSize));
        textView.setTextColor(textColor);
        textView.setTypeface(Typeface.DEFAULT_BOLD);
        textView.setTypeface(typeface == 0?Typeface.DEFAULT:Typeface.DEFAULT_BOLD);
        this.addView(textView);
        if (addView){
            Space space = new Space(getContext());
            LayoutParams params = new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT,1);
            space.setLayoutParams(params);
            this.addView(space);
        }
    }
}
